#ifndef ASSISTANT_H_
#define ASSISTANT_H_

#include "defs.h"

typedef struct assistantCDT * assistantADT;
typedef struct airportCDT * airportADT;
typedef struct flightCDT * flightADT;
typedef struct tripCDT * tripADT;

assistantADT NewAssistant(void);

int InsertAirport(const char * name, double lat, double lng);

int InsertFlight(const char * name, int flightnumber, weekdaysT * days, char * airfrom, char * airto, horaT * departure, airtimeT * airtime, double price);

int MassiveAirInsert(const char * airports, insT mode);

int MassiveFlightInsert(const char * flights, insT mode);

int DeleteAirport(const char * name);

int DeleteFlight(const char * name, int flightNum);

int MassiveAirDelete(void);

int MassiveFlightDelete(void);

int FindRoute(const char * src, const char * tgt, prioT priority, weekdaysT * wdays);

int RouteFormat(fmtT format);

int RouteOutput(fd filedescriptor);

int LoadAirportsDB(const char * airFile);

void FreeAssistant(void);

int LoadFlightsDB(const char * flightFile);

int PrintAirportsAsKML(void);

#endif /*ASSISTANT_H_*/
